package com.insight.config.shiro.oauth2;

import cn.hutool.json.JSONObject;
import com.insight.common.system.vo.LoginUser;

/**
 * SSO单点登录服务接口，定义用户查找、创建和登录相关方法。
 */
public interface ISsoLoginService {

    /**
     * 根据用户名查找用户
     * @param username 用户名
     * @return 登录用户信息
     */
    LoginUser findUserByUsername(String username);

    /**
     * 创建用户
     * @param token SSO令牌
     * @param jsonObject 用户信息JSON
     * @return 登录用户信息
     */
    LoginUser createUser(String token, JSONObject jsonObject);

    /**
     * SSO用户登录
     * @param token SSO令牌
     * @param jsonObject 用户信息JSON
     * @return 登录结果
     */
    String ssoUserLogin(String token, JSONObject jsonObject);
}
